package com.feather.tenia;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.feather.common.data.DataSet;

/**
 * @author flogyin
 */
public interface Procedure extends TeniaGetter {
	ProcedureMeta getMeta();

	DataSet call() throws SQLException, Exception;

	/**
	 * @param parameters
	 *            : Object[] {String, Object, String, Object, String, Object,
	 *            ...}
	 */
	DataSet call(Object[] parameters) throws SQLException, Exception;

	/**
	 * @param parameters
	 *            : List<Object> [String, Object, String, Object, String,
	 *            Object, ...]
	 */
	DataSet call(List<Object> parameters) throws SQLException, Exception;

	DataSet call(Map<String, Object> parameters) throws SQLException, Exception;
}
